iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 5
0
Security

點錯遊戲的我也只好硬著頭皮上了 系列 第 5

[基本技巧] grep - 關鍵字搜尋

  • 分享至 

  • xImage
  •  

「You’re doing well. I have more problems for you.」
「Why are you helping me?」
「You need it. And we need you..」
「What do you mean?」
「I can’t tell you, not yet..」
「You don’t seem to tell me anything?」
「How do I know you’re not working for them?」
「If you knew them, you’d know I’m not acting at all in their interest.」
「Meaning?」
「I’m telling you to stay awake.」

03. First Grep

Can you find the flag in file? This would be really tedious to look through manually, something tells me there is a better way. You can also find the file in /problems/first-grep_1_6788154ca7ee937f569985ff397203b6 on the shell server.
你能找到藏在檔案中的 flag 嗎? 如果只靠人眼尋找可是會累死人,聽說有更好的方法哦。你可以在 sell 伺服器中的以下路徑找到目標檔案 :/problems/first-grep_1_6788154ca7ee937f569985ff397203b6
https://ithelp.ithome.com.tw/upload/images/20200919/20103688KVzWbvNPIN.png

WRITEUP:

由於 flag 的檔案位於服務器內,因此從這題開始要學習如何在 Linux 伺服器中使用指令。
先按下右上角的 SHELL 進入伺服器,然後進行以下操作:
進入提示的目錄,

cd /problems/first-grep_1_6788154ca7ee937f569985ff397203b6

列出檔案目錄

ls  -la
total 92
drwxr-xr-x   2 root       root        4096 Sep 28  2019 .
drwxr-x--x 684 root       root       69632 Oct 10  2019 ..
-rw-rw-r--   1 hacksports hacksports 14551 Sep 28  2019 file

接著使用 cat file 後,的確出現過多的訊息,無法用人工一眼看出 flag,因此搭配 grep 指令尋找關鍵字,就會出現所有包含該關鍵字的文字。

cat file  | grep "pico"
picoCTF{grep_is_good_to_find_things_205b65d7}

ANSWER:

picoCTF{grep_is_good_to_find_things_205b65d7}
請注意每位玩家的結果不同!

「You’re still here. You’ve decided to trust me, then. I’m glad.」
「Not as if I have a choice, right? I need answers. What happens if I fall asleep?」
「They win.」
「The Name less. Did they build this place, this factory? It’s … bizarre in here.」
「Fascinating. They say any sufficiently advanced technologh is indeistinguishable from imagination.」
「”Magic”. you mean. Advanced tech is indistinguishable from magic.」
「Yes. The Nameless like technology for what it can do for them.」
「Like kidnapping people, for instance?」
「Kidnapping is a means to an end.」


08. First Grep: Part II

Can you find the flag in /problems/first-grep--part-ii_0_b68f6a4e9cb3a7aad4090dea9dd80ce1/files on the shell server? Remember to use grep.
你能在 sell 伺服器中的/problems/first-grep--part-ii_0_b68f6a4e9cb3a7aad4090dea9dd80ce1/files 找出 flag 嗎? 記得使用指令 grep。
https://ithelp.ithome.com.tw/upload/images/20200923/20103688URFH7Q51mu.png

WRITEUP:

對於關鍵字的尋找,上一題使用過 cat 配合 grep 的方式,但其實也可以只靠 grep 求出來!

打開 shell 並進入該目錄後會發現有許多的目錄

cd /problems/first-grep--part-ii_0_b68f6a4e9cb3a7aad4090dea9dd80ce1/files
ls -la
total 52
drwxr-xr-x 13 root root 4096 Sep 28  2019 .
drwxr-xr-x  3 root root 4096 Sep 28  2019 ..
drwxr-xr-x  2 root root 4096 Sep 28  2019 files0
drwxr-xr-x  2 root root 4096 Sep 28  2019 files1
drwxr-xr-x  2 root root 4096 Sep 28  2019 files10
drwxr-xr-x  2 root root 4096 Sep 28  2019 files2
drwxr-xr-x  2 root root 4096 Sep 28  2019 files3
drwxr-xr-x  2 root root 4096 Sep 28  2019 files4
drwxr-xr-x  2 root root 4096 Sep 28  2019 files5
drwxr-xr-x  2 root root 4096 Sep 28  2019 files6
drwxr-xr-x  2 root root 4096 Sep 28  2019 files7
drwxr-xr-x  2 root root 4096 Sep 28  2019 files8
drwxr-xr-x  2 root root 4096 Sep 28  2019 files9

可以知道這題考的是如何在多個目錄下尋找特定的文字。若要使用相同的手法我們試著 google “cat all files in subfolder” 找到解答,得知 cat 可以在後方加上目錄結構,因此若執行以下指令可以得到 flag。

cat * */* | grep "picoCTF"
cat: files0: Is a directory
cat: files1: Is a directory
cat: files10: Is a directory
cat: files2: Is a directory
cat: files3: Is a directory
cat: files4: Is a directory
cat: files5: Is a directory
cat: files6: Is a directory
cat: files7: Is a directory
cat: files8: Is a directory
cat: files9: Is a directory
picoCTF{grep_r_to_find_this_e4fa3ba7}

這次的題目雖然解決了,不過也許之後的目錄結構不一定只有一層,或著不曉得有幾層呢?這時深入研究 google “grep all files in subfolder”,可以發現只要 grep 一個指令並加上一個參數 -r 就能自動繞遍目前目錄下的所有檔案了

grep -rn "picoCTF"
files9/file26:2:picoCTF{grep_r_to_find_this_e4fa3ba7}

ANSWER:

picoCTF{grep_r_to_find_this_e4fa3ba7}
注意每位使用者不同!


上一篇
[基本技巧] Base 進階篇
下一篇
[基本技巧] strings - 非文字檔也能搜尋
系列文
點錯遊戲的我也只好硬著頭皮上了 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言